LRTAIL> CTDOWN%>PH Q@DUMTAIL7R R>SBODY\ HCTLEFTf $>p &DUMXz !CLRTAIL CTLEFT%>' Q@DUMTAIL7 R>SBODY >} HCTRIGHT $> &DUMX !CLRTAIL CTRIGHT%>) Q@DUMTAIL7 R>SBODY HCLRTAIL $> &DUMXCLRTAILQ>>>} P@TAIL6$ $DUMX. QJMPTAB98 PJUMPB2L QJMPTAB9V PJUMP` !@JUMP:jTUP;t QTAIL~S>( PTAIL QTAIL> }S> PTAIL !FIXTAIL TDOWN, QTAILO>( PTAIL QTAILO> PTAIL !FIXTAIL  TLEFT; QT> }AILS>( PTAIL2 QTAIL<S>F PTAILP !FIXTAILZ TRIGHT,d QTAILnO>x PTAIL QTAILO> PTAI> }L !FIXTAIL FIXTAIL; QTAILS>( PDUMMY QTAILS> PDUMMY CUP%> Q@DUMMY7 R>SBODY H> }CLEFT %>TAIL1" 'STAIL, !PUTTAIL6 CLEFT%>'@ Q@DUMMY7J R>SBODYT HCRIGHT^ %>TAIL2h 'STAILr !PUTTAIL|CRI> }GHT%>) Q@DUMMY7 R>SBODY HCDOWN %>TAIL2 'STAIL !PUTTAILCDOWN%>TAIL1 'STAILPUTTAIL%> QSTAIL>} P@TAIL7!JOY CHKHIT; QDUMHEADS>( PDUMTAIL&QDUMHEAD0S>:PDUMTAILD,N QDUMHEADXO>(b P>}DUMMYlQDUMHEADvO> PDUMMY$>Q@DUMTAIL6 R>WALLS FISWALL0 R>SBODY FISBODY0 !HPERPISW>}ALL0Q@DUMMY6 R>SBODY HHPERP !ISPERPISBODY0Q@DUMMY6 R>WALLS  HHPERP !ISPERP  HPERP;* QDUMHEAD4S>>}> PDUMTAILHQDUMHEADRS>\PDUMTAILf,p QDUMHEADzO> PDUMMYQDUMHEADO> PDUMMY$>>}Q@DUMTAIL6 R>WALLS FISWALL1 R>SBODY FISBODY1 !NOPERPISWALL1Q@DUMMY6 R>SBODY FISPERP !NOPERP>}ISBODY1Q@DUMMY6$ R>WALLS. FISPERP8 !NOPERPBISPERP$DUMHEADL &HEADV$DUMHEAD` &HEADj!JOYtNOPERP>}$NSTICK~ &SSTICK $DUMHEAD &HEAD$DUMHEAD &HEAD !DIRCHECKGUYDEAD%> CRY$>QDIEMUSIC8 P>}AUDF1C5 DELAY7 ?3)>(HCRY2%>< Q@LIVES7FR>P HNEXTGUYZ !ENDGAMEd NEXTGUY;nS>x P@>}LIVES7QX PDUMMYQY PDUMMYXCHECK%>YCHECKQ@DUMMY7 R>SBODY FISBODY R>SHEAD FISBODY R>T>}AIL1 FISBODY R>TAIL2 FISBODY !NOTSBODYISBODYQ>" P@DUMMY7, NOTSBODY36)>(@ HYCHECKJ,TQ>(^ ODU>}MMYh PDUMMYrQ>| ODUMMY PDUMMY2(> HXCHECK !MAKESNAKUPSCORE%> Q@SCORE7 INC0R> F>}ZERO0,O> P@SCORE7: ZERO0Q> P@SCORE7 INC1%>& Q@SCORE70R>: FZERO1D,NO>X P@SCORE7b:>}l ZERO1Q>v P@SCORE7 INC2%> Q@SCORE7R> FZERO2,O> P@SCORE7: ZERO2Q> P@SCORE7 INC>}3%> Q@LIVES7,O>  P@LIVES7 Q@SCORE7 R>* FZERO34,>O>H P@SCORE7R:\ ZERO3Q>f P@SCORE7p:>}zUPLEVEL%>; QDLAYSIZES>R>  FSING PDLAYSIZE SING$>QLVLMUSIC8 PAUDF1C5 DELAY>}7?3)>$ HSING. #LEVEL8$>B &LEVLPNTSL%>VQ@SHOWLEVL7` INCL0R>j FZEROL0t,~O>P@SHOWLEV>}L7 !LEVLDONEZEROL0Q>P@SHOWLEVL7 INCL1%>Q@SHOWLEVL7R> FZEROL1,O>P@SHOWLEVL7 !LEVL>}DONEZEROL1Q> P@SHOWLEVL7 INCL2%>Q@SHOWLEVL7(R>2 FZEROL2< ,;ADC #1FP@SHOWLEVL7P !LEVLDONEZZER> }OL2Q>dP@SHOWLEVL7nLEVLDONE INC2x PRINTSCR !MAKESNAKENDGAME!START DELAY XLOOP%> YLOOP1)>>!} HYLOOP0(> HXLOOP:DDLISTQ0 PSDLISTQ1PSDLISTQ>D"%>, P@SDLIST76%>@Q>JD>"}DLOOPP@SDLIST7T3^)>h HDDLOOPr:|>D:SLITHER2.M65%JMPTAB TUP=TDOWN=TLEFT=TRIGHTBADSTICK == = >#}LEVLSCOR j=h=j=iLVLMUSIC =<=5=2=/=< 5=/=/=@=5=5=< <=<=<=DIEMUSIC ====! =>$}========STARTMSG APRESSSTARTACLEARMSG A A>D:SLITHER3.M65>D:SLITHER4.M65.SCRT>%}AB SCREEN0=SCREEN1=SCREEN0=SCREEN2CREDITS }=A A A A A A& A S PEARSON A0 >&}A & A: A P KOHUT AD A AN A AX A Ab A 00000 Al A Av>'} A TIME 00 A A A A LEVEL 000 A A LIVES 4 A A A A A A (C) 1985 A>(} A ANALOG A A A A A RUN A A A A A (C) 1985 A<G OPENQ> PICCOMQ>( PICAUX12Q>< PICAUX2F Q>4EDITORP PICBADRZ Q>5EDITORdPICBADRn CIOVx B*}Q>PUTCHR PPUTGET PICCOM$>&R$>'&S$>Q>4CREDITS PICBADRQ>5CREDITSPICBADRQ>B+} PICBLENQ>PICBLEN CIOVJ:TEDITOR AE:A=^PRINTSCR$>_&R`$>a&Sb$>h&Tr&U|&V B,}QLEVELM>T?? QSCRTAB8 PICBADRQSCRTAB8PICBADRQ> PICBLENQ>PICBLEN CIOVB-}:LEVELM>T?? QSCRTAB8 PICBADRQSCRTAB8PICBADRQ> PICBLENQ>PICBLEN CIOV@,X"CHRFNT ======= = = = = == = =3=3=3==== =3=?=3=3=?=3=F/}  =?=0=?==?= = =3== = =0=3=  =3=3=3====3 = = = ====  == =0=F0}0= ==  =<= === =<=  =D==D==D==D  ===(=(=(==  <=======< } + *A$ A*+* *+* *+* *+* *+* *+* *+* *A$ A* + + + + + + + *A$ A* * * * * * * * * * * *+* * *A$ A*+ J?} + + + + + + *A$ A* * * *+* * * * *+* * * * * *A$ A* + + + + + + + *A$ A* * * * * * *+* * * *J@} * * * *A$ A*+ + + + + + +*A$ A* *+* *+* *+* *+*+* *+* *+* *A$ A* + + + + + + *A$ A* JA}* * * *+* * * * * *+* * * *A$ A*+ + + + + + +*A$ A*****************************A SCREEN1$ A********JB}*********************A$ A* * + + * + + * + *A"$ A* * * + * * * + * * * + * * *A,$ A*+* * * *+*+** **+*+* * *JC} *+*A6$ A* + +* + * + + * + *+ + *A@$ A* ***** ***** * ***** ***** *AJ$ A* + + +*+ + +*+ + + *AT$ A******JD}* * * * * * * * *******A^$ A* + + * + * + + *Ah$ A*+*** ******* * ******* ***+*Ar$ A* * + + +* + *+ + +JE} * *A|$ A*+*+*+* *+* + * + *+* *+*+*+*A$ A* * * * * ********* * * * * *A$ A*+*+* *+* + + + + *+* *+*+*A$ A* * JF}* * ** * *** * ** * * * *A$ A*+ +*+ +* + *+ +*+ +*A$ A* *** * ** * *** * ** * *** *A$ A*+ * * * +*+ + +*+ *JG} * * +*A$ A* *+* *+* ** *** ** *+* *+* *A$ A*+* *+ *+* + * + *+* +* *+*A$ A* * ***** * *+*+* * ***** * *A$ A* JH}+ + + + * + * + + + + *A$ A*****************************A,SCREEN2 A*****************************A$ A* + +JI} + + + + + *A$ A* ***** * * * * * * * ***** *A$ A* + + *+*+*+*+*+* *+* * + + *A$ A*+* * + * * + + + * *+ * *+JJ}*A&$ A* *+* ***+* ***** *+*** *+* *A0$ A*+ * + *+ + +* + * +*A:$ A* ***+*+*****+*+*****+*+*** *AD$ A* + * +JK} +*+ +*+ + * + *AN$ A*+***** ** * *** * ** *****+*AX$ A* + + *+ + +* + + *Ab$ A******** * ******* * *****JL}***Al$ A* + + * + + + + * + + *Av$ A* ****** * * * * * * ****** *A$ A*+* *+* * *+* * *+* *+*A$ A* +**+JM} *+ +* +**+ *A$ A* *** ***+* *** *+*** *** *A$ A* +* **+ + + + +** *+ *A$ A*+* *+ * *** *** * +JN}* *+*A$ A* * + * **+* + + *+** * + * *A$ A* *****+* +***+ *+***** *A$ A*+ +** + **+ +*A$ A*****JO}************************A+ + *+** * + * *A$ A* *****+* +***+ *+***** *A$ A*+ +** + **+ +*A$ A*****HG X;Listing 1 for Character SetX;Redefinition ExamplesX;(X;by Karl E. Wiegers2X;<F=EIFX;PX;Z X;EquatesNQ} for IOCB operationsdX;n OPENx GETREC PUTREC CLOSE EOLX;X;pointer to character setX;NR} CHBASX;X;equates for IOCB addressesX; ICCOMB ICBALD ICBAHE ICBLLH ICBLHI ICAXNS}1J" ICAX2K, CIOVV6X;@!X;redefined character set willJ#X;start at $4000 and go to $43FFTX;^RAMSET@hNT}X;r X;ROM character set starts at|X;$E000 and goes to $E3FFX;ROMSETX;#X;******************************XNU}; PROGRAM BEGINS HERE#X;******************************X;PX; MOVECHAR REDEFINE PRINT END!ENDNV}X;#X;******************************X; SUBROUTINES BEGIN HERE&#X;******************************0X;:"X;subroutinNW}e to copy entire ROMD#X;character set into RAM at yourN X;designated address (RAMSET)XX;b MOVECHARl$>v CHLP1 QNX}ROMSET9 PRAMSET9QROMSET9PRAMSET9QROMSET9PRAMSET9QROMSET9PRAMSET92 HCNY}HLP1:X;$X;subroutine to redefine selected#X;group of characters in the RAM $X;set; in this case, 5 characters!X;NZ}totalling 40 bytes; replaces  X;characters 33-37 in RAM set*X;4 REDEFINE>$>'H RDLP1R QNEWCHAR9\PRAMSET9fN[}0p IRDLP1z:X;#X;table of byte data for the new"X;characters, 8 bytes per char.X; NEWCHAR <=f== N\}=f=;= >=c=c=c ~=c=~= <=c=`=` `=c=>= <=c=c=c c=f=|= <=b=`=| `==N]}<=X;$$X;subroutine to print a string of."X;text on the screen (up to 5128$X;characters long), using the RAMBX;charN^}acter setLX;V PRINT`Q>RAMSET;;point tojPCHBAS;;RAM charsett$>;;IOCB #1~Q>PUTREC;;operation isPICCOM9N_};;PUT a RECordQ>TEXT;;point to thePICBAL9;;text stringQ>TEXT PICBAH9Q>;;print up toPICBLL9;;2*N`}256=512Q>;;bytes PICBLH9 CIOV;;go do it!:X;#X;string being printed on screen X;TEXT AABCDEA=EOL2*L{ X;Listing 2 for Character SetX;Redefinition ExamplesX;(X;by Karl E. Wiegers2X;<F=EIFX;PX;ZX;equatesRb} for IOCB operatiosdX;n OPENx GETREC PUTREC CLOSE EOLX;X;pointer to character setX; Rc}CHBASX;X;equates for IOCB addressesX; ICCOMB ICBALD ICBAHE ICBLLH ICBLHI ICAX1Rd}J" ICAX2K, CIOVV6X;@!X;redefined character set willJ#X;start at $4000 and go to $43FFTX;^RAMSET@hXRe};r$X;*******************************|X; PROGRAM BEGINS HERE$X;*******************************X;PX;$>Rf} OPENIOCB INOERR1 OPENERROR,DEND NOERR1$> READFILE$> CLOSEIOCB PRINT& END!END0Rg}X;:$X;*******************************D X; SUBROUTINES BEGIN HEREN$X;*******************************XX;b#X;subroutRh}ine to open an IOCB forlX;read access - need to loadvX;with IOCB# * 16 firstX; OPENIOCBQ>OPEN;;operation is toRi}PICCOM9;;OPEN an IOCBQ>FNAME;;point toPICBAL9;;name of diskQ>FNAME;;file to open PICBAH9Q>;;opeRj}n forPICAX19;;read access CIOV;;go do it!:X;"X;subroutine to read 1024 bytes "X;from open IOCB and put in RARk}M#X;at address RAMSET. IOCB# * 16 !X;must be in X-register first.*X;4 READFILE>Q>GETREC;;operation isHPICCOM9;;Rl}GET a RECordRQ>RAMSET;;will store\PICBAL9;;at addressfQ>RAMSET;;RAMSETp PICBAH9zQ>;;want to getPICBRm}LL9;;4*256=1024Q>;;bytes PICBLH9 CIOV;;go do it!:X;!X;subroutine to close an IOCB. X;X-register must coRn}ntain theX;IOCB# * 16 first.X; CLOSEIOCB Q>CLOSE PICCOM9 CIOV:X;$X;.X;8"X;same PRINT subroutineRo} that weBX;used in Listing 1LX;V PRINT`Q>RAMSETj PCHBASt$>~ Q>PUTREC PICCOM9 Q>TEXT PICBAL9Rp}Q>TEXT PICBAH9Q> PICBLL9Q> PICBLH9 CIOV:X;#X;print this long text string so $X;you canRq} see what the characters"X;you loaded from the disk file#X;look like (actually, type any-(!X;thing you want in 1350-1410Rr})2X;<TEXTF AABCDEFGHIJKLMAP ANOPQRSTUVWXYZAZ AabcdefghijklmAd AnopqrstuvwxyzAn A1234567890Ax A!#$%&'@(Rs})<>A A-=+*_|\^,./[]?A EOLX;#X;complete name of the file withX;your character set dataX;FNAME AD1:FANCRt}Y.FNTA=EOLX;$X;subroutine to handle open errorX; OPENERROR$>;;print message onQ>PUTREC;;screen PICCOMRu}9Q>OETEXT;;error textPICBAL9;;to print"Q>OETEXT, PICBAH96Q>P;;80 chars, or@PICBLL9;;EOL, whicheverJRv}Q>;;comes firstT PICBLH9^ CIOVh:r OETEXT| AError on openA=EOLQ>P;;80 chars, or@PICBLL9;;EOL, whicheverJPN78V l BFNABFF1LINRETRBACKSCHKSUEDILBYTDMOD@Vx}  GG9@,;@,Vy};@,;@,;@,;@, ;@,?6-A6-AU'6-A&36-?6-IVz} AP-@@8(tart or ontinue? B AI(>:,(?-@@#(FILENAME'9AR@V{}?( 25B:, @$-@ @+( 5 @@<?7@<@,0D:&6.D:567@,.? @FV|} 6.P>:,4SA Z4 A0*@@4 Ad@-@@$)@( 66V}}-%@@ An5@+@@ 5 Apxr A`*@@4 A@V~}F-@@`(FILE ALREADY EXISTS!!rARH-@@%( ERASE IT? / AAAR@V}H(>:,,>:,4N)>:,4n"@, @0>:,0Y*>:,0yA0+@+@@V}? AP-@@3( נΠ: ?6-6-@#-@@W-@$+ @,%@V}$+!@ ,%@iAR|(BYTE #:  A$*"6-8,$ A 6-A:,V} 6. -@"%@ ( 0 68,-6-%$"!A06-&B) 6-%!A)6-&BV}O-@%@)AR9( CHECKSUM: E6-@O A*"Ap 6-A:,!-V}@"%@!( "A"/ A@6-@%6-/ A,O-@@'*@V}8,+ 96-%@E6-O Ap66-@- A-"@:Q,*"@*(A J++**+ @HV})!@W,A K"*46.O%%"*"*!@APT&&++"*(,)",*"A ^$ "V}AR@!( $$hAr2!@(6.7@<&@,2 A| 6.# (>:,6-&@V}# A '6-%@!6-' AP!67,.>:,(>:,! A  +^ A@-@V}@1( NO SUCH FILE!E-@AI T@^ @0tA@H72A@@V}K-@@PO q2t$U +@#@A1B7tACAYV}UA@U-6-F:A`,%AV$F:Aa,%@A&@@pU%@@_-@V}@9@-%@1 M-@@@@[%_ W%@A@e.%@BF:A`,V}E%@CF:Aa,W@?-@*(analog ml editor<AY@4?$>#@@V}K:0)@;@>$D:MLEDITOR.BAS(analog ml editor<AY@4?$>#@@T? AA`^BACKUP! @P @`! A$"@A"^RESTORE.! @@ }@`! A8A`^FONTB @P A+L APV>D:*.SET8(** Character} Set Directory **>6-`) (P:',"'() A@j (|t 6-% A ~<A@d&}A<UPPER CASE,NORM VID((tari Font Enable(oad & Enable new Font 0( e-Enable  6-} A+"@e6- A`+ATARI SET2 0"@6-& A`2RE-ENABLE&@vA}&LOAD NEW SET%%(( only for another DIR)*&(Set Name Only (no DEV or EXT):*4A) 6.D1:}67,.)67B:,%,..SET(Load Font file: ' A' A  ( * I/O Error F:A,}&( Press 6-& A6- A`( 6.2# 6-6-$6-A$#6-<: A0}6.0(* Bad Font File *: AF 6- A`PA ^COLORZ 6-%!@6-d "}!6-n " @` Ax 6-6- 6- APAP^HELP @PBACKUP FIRST}! A A@! A` 6-A&A 6-6-@2 6-6-- 6.>:,6-(! A}'6--6-AA#6-?:C:,<<<'<,# A 6-?:C:,> MISSINGGns!-@&@@76-@:7<,,&@H}]6-@:7%@<%@,,&@Hs6-8,$@%8,x% 6-%!A %6-&A*@ }"A(@pA&6-%@ A&@Z( DATA GOOD!9(!PRESS }Π WHEN J( DISK READY NZ6-~6-#A%6-A N@@ D1:}TYPE.SYS`-@t(WRITING DATA ~ @pJ@!(}* ALL DONE *J($Ǻ Be Sure to SAVE this l}oader,"(as a backup, just in case!, A 0&(}DATA LENGTH ERROR IN LINE 0 A ##(}CHECKSUM ERROR IN }LINE AR(XSI( }I/O ERROR F:A, AT LINE F:A,%AV$F:A,S A ZZA5}C885DFA90185DEA55485E5A55585E3A55685E4A657A90AE0059008A914E0079002A92885EF68F0,383ZZ30AA6885D56885D4CAF031686885DFCAF02A6}86885DECAF023686885E5CAF0166885E46885E3CAF0,484ZZ136868CAD0FB18900BA9FD4CA4F6A90085E385E4A5E585E9A5EF85ECA90085E6A2080A26}E606E990,245ZZ071865EC9002E6E6CAD0EF85E5A55885D8A55985D9A5E51865D885D8A5E665D985D9A201A557C909,208ZZB007A2024AB002A20}3A5E365E4F01946E466E3CAF00546E3CAD0FBE6E918A5E365D885D89002E6D9,128ZZA5D885E0A5D985E1A90085E2A200A90095DAE8A5DF95DA0A0A0A}0AE895DA05DBE895DAA4E2B1D4A2,222$ZZ0086EAC9809004297FC6EAAA85ECE060B00DA940E0209002A9E01865EC85ECA90885E9A90085D7A2,695.}ZZ080A26D706E990071865EC9002E6D7CAD0EF85D618ADF40265D785D7A00084EBA00884EE18900318,6718ZZ90A9A4EBB1D6E6EB45EA85E8A90085ED}A90485E7A90085E9A00206E826E988D0F9A6E9B5DAA4ED91,126BZZD8E6EDC6E7D0E518A5D865EF85D89002E6D9C6EED0C4C6DED00160E6E218A5E0690}485E09002E6E1,863LZZ85D8A5E185D91890A66068F00AC904F00DAA6868CAD0FBA91685B94C40B96885C368C9809004297F,248VYYC6C3AA8D1606}E060B00FA940E0209002A9E0186D16068D160668688D170668688D1806C904900538,16`ZZE904B0F785D6C900F007A90438E5D685D64E18064E180606}D61868688D190685BAA657A90AE003F0,548jZZ08A914E005F002A92885CF85BBA55885CBA55985CC20000618AD180665CB85CB9002E6CC18A5CB65,24}3tZZD485CBA5CC65D585CCAD160685BBA90885BA200006A5D485CDADF40265D585CEA000A208A90085D1,494~ZZ85D0B1CD45C348680A48900818AD}170605D085D0E001F00806D026D106D026D1CAD0E4689848A000,192ZZ84D784D4A6D6F0583826D7CAD0FAB1CB05D745D791CBA5D749FF85D7C8C8B1C}B05D745D791CBA6D6,860ZZ06D126D4CAD0F9A00018B1CB65D491CBA90838E5D6AA84D446D066D4CAD0F9F002D087A00218B1CB,801ZZ65D491CB}18A5D065D1A00191CB189009A5D191CBC8A5D091CB68A818A5CB65CF85CB9002E6CCC8C0,778ZZ08D0CE6068F00AC903F007AA6868CAD0FB606885D56}885D46885D76885D66885D96885D8A6D8CAE0,753ZZFFD00E86D8A6D9D00160CA86D9A000F00286D8A000B1D491D6E6D4D002E6D5E6D6D0D9E6D7D0D5}60,407} 1200,80D:TABLETY2.BASZZFFD00E86D8A6D9D00160CA86D9A000F00286D8A000B1D491D6E6D4D002E6D5E6D6D0D9E6D7D0D5*XY**LUMTAPMSS1QMBLP1P2P3P4RRCPEAAAATLINCOLTAFFFFXI@}@@@@ @@} !}"#$%&'() l@@*AR@0(}: ApN}%@"A(`-@@lBY D.L.D.|( *************'( **9( *Ӡ*K( **](} *************o@@|;@,9@<@,9@<@,9@,9@,;@u,9}@,;@,;@,;@,;@,;@,;@,9@,9@,(dU6.KALTAIR STARWAYSBETEL}GEUSE, LTDCAPELLA FREIGHTDEBOLA SHIPPERSERNI EXPEDITERSd6..*ABCDE2q-@+-@<68<,-}K68,-AZ68,-i68,-A`m q <z-@+-@<68<,-@@ D }X-@g68,-v68,-z Ft-@@ +-@@M6-P:H:@,$@P,%}@c@#*@&t68<,-@P  ARZ^ @-@@<(HOW MANY PLAY}ERS (2-4)@^ @)!@@d(-@nK A!-@@%G(PLAYER  WHAT IS Y}OUR NAME Kx4A"@6."@6."@6."@6. }X A-@@ B(# OF MOVES BEFORE GAME ENDS FXAR@H 6-$(7($NOW I WILL DECIDE WH}O GOES FIRST...A AH(>6-P:+P:+$@%,$H:@,,%@,'@%,%@H A\( WILL GO FIRST.}f Ar6-6-&@'6-%@'%@A+6-%@"%@+6-@}-@@M(68,-P:@ $H:@,%@,M68,-P:@$H:@,%@,@"-&@6@}@8,"8,*8,"8,A@& &88,<8,,!@A@.-@@.8,"A9  }6-88,<8,%@,96-88,<8,&@,"56-88,%@<8,,56-88,&@<8,,,55!@)!@})!@)!@A655"@* @* @* @A@@55"@* @* @* @}A@J55"@* @* @* @A@T55"@* @* @* @A@^55"}@* @* @* @A@h55"@* @* @* @A@r55"@* @* }@* @A@|55"@* @* @* @A@  AU A-@@}*(4 AU(, HERE ARE YOUR LEGAL MOVES:D-@@4(8,>:8,%@d,, 8 A(~~.D(}p(WHAT IS YOUR MOVE -AR1CAR@\7@<@,4Mf Ap A07@}<@,4S& A 0 As%6-@:7@<@,,&@HG6-@:7@<@,,&@d[-@@}s"8,*"8,A`B  (.(THAT SPACE WAS NOT ON THE LIST8 AB AY B 6-8&@<,36}-8%@<,F6-8<%@,Y6-8<&@,H-@*@*@*@>68<,-@H AP}55 @* @* @* @A%%!@*!@*A `%%!@*!@*A `}%%!@*!@*A `%%!@*!@*A `%%!@*!@*A `%%!@}*!@*A `&8<,!@A0!@6-&@:!@6-&@D!@}6-&@N!@6-&@X568,-8,%@+68,-8,%A5 APb.-@@.8},"A0l3 8<, @)68<,-@3 APvt A@:('A NEW SHIPPING COMPANY HAS BEEN FORMED}!t( ITS NAME IS: 7$@&@<$@,.468<,-8<,%@*68,-@4 A#"@}#68,-8,%A#"@#68,-8,%A#"@#68,-8,%A#"@#68,-8,%A}R"@#68,-8,%A768,-8,%@R68&@<,-%@R"@#68,-8,%A768},-8,%@R68%@<,-%@R"@#68,-8,%A768,-8,%@R68<%@,-%@}R"@#68,-8,%A768,-8,%@R68<&@,-%@"8,A06-" A68<},-%@y (} A '-@@J68,-8,%P:?$8<,$8,,N b-@@y8,"}A! A`!8, 8,A:-@@:(YOUR CURRENT CASH = $8, k;(HOW MANY SHARES OF} 7$@&@<$@,R(AT $8, EACH?k( YOU NOW OWN 8<,:AR+AR@:}4A 07@<@,4M& A0 A`*07@<@,4S& A 0 A`4X 6-A:,$} *O:,!8<,N($YOU MAY NOT SELL MORE THAN YOU HAVE!X AP>$8,8,A`H,,(YOU ONLY HAVE $8,} - TRY AGAINR A A`\"Af*68<,-8<,%*68,-8,&+$8,,p  B }Aza@@(}/-@=%A2K%A@W"a A; -@@}#)%A@7%A0; d$(D(РƠŠ٠d(}[#( A B C D E F G H I J K L7-@@ @(T-@@[( E(78<,<8<,, } !(% E(_(MOVE #/(# OF MOVES TO END = &A-@2@G(Y-@2 }@_(;#(5@@8(;$)6-&@ )6-)6- }&@ )6-)6-&@ )6-)6-&@ )6-* 6-8 },6-8,!$6-8,*6- 8,!6-8,6- 8,!6-8,6-") @AP 6-  }A ") @Ap$ 6- A .") @A8 6- A B") @A}L 6- A V A``c@ APX(7$@&@<$@, HAS JUST BEEN MERGEDc(}INTO jT((7$@&@<$@,!T('PLEASE NOTE THE FOLLOWING TRANSACTIONS:t](6} OLD STOCK = 7$@&@<$@,o-@9@( NEW STOCK =~i(( 7$@&@}<$@,:-@9@i()ZZ(QPLAYER OLD NEW TOTAL BONUS PAID}j-@ A0/-@ @%8(8<,L-@@%j(P:+}8<,'@,%?P,g-@ @%<(8<,%P:+8<'@,,%?P,H6-V-@c6-%8<,g }W-@0@%;( $P:@$++8<,',$8,,,O-@9@%W(o 5()}C-@o68<,-8<,%P:+8<'@,,%?P,0,68,-8,%P:@$++8<,',$8,,,0 }Q-@@ +-@@>8<,"%@Q68<,-%@F  68,-8,%8,-68,-8,%8,<}8,!A0F AV68,-A!68,-/-@@68<,-D V@@)6-&@} )6-)6-&@ )6-)6-&@ )6-)6-&@} )6-  6- A$} A@G( THE STOCK OF 7$@&@<$@, HASf( } SPLIT 2 FOR 1!}68,-P:8,'@,:-@)68<,-@$8<,- 7 A:$(a@}(}/-@=%AK%AW"a A2; -@@)%A7%A}; <7-@@#%%A3%A7 Ff-@C()}U-@)@f( HOLDINGS: Pg-@@ (STOCK2-@@A( PRICE/SHRS-@'@}g(YOURS/TOTAL Z11((d3-@@&8,"A)(3 An`$(}7$@&@<$@,8-@@%C($8,W-@(@%`(8<,xL-@4@%#6- }7-@@D6-%8<,H L(#-@9@%(# `D(;!} STOCK CHART FOR:N A`-@9@L1()C@@F(I(L$"}Z-@@ (4-@@#B%P%@Z A`O (}-@#+%#}@f9%@xE"O A, &( ̠Š)(,$"@("@($}"@("@($"@6."@6."@6."@%}6."5B:, @567B:,%@<@,. ,(7@<@,$6-@A $@c A&}P("@>( THE GAME IS OVER------`(HERE ARE THE FINAL STANDINGS:c(JYY(P'}ˠ̮̠ԠTM1((?-@I((}M ^XX(Phs-@%-@)}@?68,-8,%+8,$8<,,C G U-@i-@@ %s A0ri-@@ %"($8,6-@*}@ %A($8,U-@0@ %e($8,%8,i |-@ W (}#A'-@+}+"9Ad%= I6-AW6-%@$X6-?:A,$AA(6A@X6-F:A`,%AV,}$F:Aa,W-%@%@('A0+ ?%@AQBBAW(}$AF:,!A-} F:,$$JJ72,138,72,174,156,6,189,176,6,141,10,212,141,24,208,189,200,6,141,23JJ208,238,156,6,104,170,104,64,25,1.}04,169,7,160,168,162,6,32,92,228,96OO169,1,141,156,6,76,98,228,130,130,130,130,130,130,130,130,130,130,130,130JJ130,1/}38,130,142,140,138,136,130,136,130,136,130,14,14,14,14,14,14,145514,14,14,14,14,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0D0}:STARLANE.BAS,138,136,130,136,130,136,130,14,14,14,14,14,14,145514,14,14,14,14,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0D  FILENUMBEROFBYTEJUNKJUNKSTARTLSTARTHLASTLLASTHSTARLASBEGINNINFLABUFKEYINTKEYVBPOBYTKEYVBBU!2}FIBUFOUBUVVBLKVKEYBBUFHBUFFERBUFLHLMES !3} A$t @!4} ))Ϡ͠ӠĠқ Written by Nancy A. Dur!5}gin2;@`,d B >:A%,+%  ĠҠ( + dd \Type something on the keyb!6}oard during this pause. Hit RETURN to terminate your input line.\H @You can store as many separate inputs in the buffer!7} as you want.K \  EXPERIMENT!!-@AP   INPUT    YOU TYPED :  && (Type!8} ahead during this pause)-@A0  A0u''ŠϠԠРĠқ1u&&;@`!9},;A ,;@8,5uŠӠϠٛ:u #B6-Du""6@BNu6-%@!:}67<,.>:,Xu B u #B6-u""6@Bu6-%@67<,.>:,u B!;}u$$ŠŠĠқv?6-A6-A'6-A36-AF?6-A  v!<}v*6-P:C:,'AV,*6-C:,&AV$ v %@*v*6-P:C:,'AV,*6-C:,&AV$4v %@!=}>v*6-P:C:,'AV,*6-C:,&AV$Hv %@y$y))ҠĠԠśJy 152!>},72,173,9,210,205,242,2Ty&&208,5,173,241,2,208,96,173,9,210^y))201,159,208,10,173,255,2,73,255,141hy''255,2,176,79,201,!?}178,208,13,169,0ry++133,205,133,206,169,255,141,252,2,176|y&&62,141,242,2,169,3,141,241,2,169y))0,133,77,165,205,197,2!@}06,240,12,164y++205,200,152,197,206,240,36,165,205,16y&&15,173,252,2,201,255,208,8,173,9y((210,141,252,2,176,17,173,!A}9,210,164y**205,145,203,200,152,201,60,208,2,169y''0,133,205,169,48,141,43,2,104,168y 104,64y-1y%%Ҡ!B}̠ˠśy##165,205,197,206,240,29,169,48y''141,43,2,173,252,2,201,255,208,17y++164,206,177,203,141,252!C},2,200,152,201y&&60,208,2,169,0,133,206,76,95,228z-1 D:BUFFER2.BAS201,255,208,17y++164,206,177,203,141,252 RNOFILENUMBEROFBYTEJUNKJUNKSTARTLSTARTHLASTLLASTHSTARLASBEGINNINFLA%E} ,,ĠҠΠ͛%F}bbPOKES MACHINE CODE INTO PAGE 6 AND CALLS INITIALIZATION ROUTINE TO IMPLEMENT KEYBOARD BUFFER Written by Nancy A. Dur%G}gind "n6-%AV$x6-%AV$ -"   6-?:,'0,6,193,6,104%H},169,0,133$'++205,133,206,169,194,133,203,169,6,133.'''204,169,156,141,34,2,169,6,141,358'""2,169,36,141,8,2,169,6,141,%I}9B'%%2,96,152,72,173,9,210,205,242,2L'&&208,5,173,241,2,208,96,173,9,210V'))201,159,208,10,173,255,2,73,255,141`'''25%J}5,2,176,79,201,178,208,13,169,0j'++133,205,133,206,169,255,141,252,2,176t'&&62,141,242,2,169,3,141,241,2,169~'))0,133,7%K}7,165,205,197,206,240,12,164'++205,200,152,197,206,240,36,165,205,16'&&15,173,252,2,201,255,208,8,173,9'((210,141,25%L}2,2,176,17,173,9,210,164'**205,145,203,200,152,201,60,208,2,169'''0,133,205,169,48,141,43,2,104,168'**104,64,165,205%M},197,206,240,29,169,48'''141,43,2,173,252,2,201,255,208,17'++164,206,177,203,141,252,2,200,152,201'&&60,208,2,169,0,%N}133,206,76,95,228 D:BUFFER1.BAS3,252,2,201,255,208,17'++164,206,177,203,141,252,2,200,152,201'&&60,208,2,169,0,$'* Keyboard Buffer Routines** Written by Nancy A. Durgin** Loads into page 6* Call from BASIC with X=USR(1536)*********)P}**************************************************** * This program sets up a keyboard buffer and associated * handler rou)Q}tines. The vector to the Keyboard interrupt * routine (VKEYBD) is changed to transfer control to a * new routine, which sto)R}res characters that are 'typed * ahead' into a 60 character buffer. A VBLANK routine * checks to see if the current charact)S}er (in CH - $02FC)* has been processed, and if it has, moves the next * character out of the buffer.*********************)T}***************************************** SYSTEM EQUATES*KBCODE = $D209 ;Code for the key just pressedCH1 =)U} $02F2 ;Code for last key pressedCH = $02FC ;Key waitng to be processed by E:KEYDEL = $02F1 ;)V}Keyboard "debounce" counterATRACT = $004D ;Attract mode counterSRTIMR = $022B ;Key Auto-repeat counterVV)W}BLKI = $0222 ;Vector to VBLANKI routines SYSVBV = $E45F ;Vector to system VBLANK routinesVKEYBD = )X}$0208 ;Vector to keybd intrupt routineSSFLAG = $02FF ;Screen STOP/START flag ** PROGRAM EQUATES*BUF = )Y} $CB ;Contains address of bufferBUFIN = $CD ;IN pointer for buffer ;points to nex)Z}t free locationBUFOUT = $CE ;OUT pointer for buffer ;points to next data byteBUFLEN = )[} $3C ;Buffer length = 60CTRL1 = $9F ;Keycode for CTRL-1CTRL0 = $B2 ;Keycode for CTRL-0** )\}INITIALIZATION ROUTINE** Initializes the routine by placing the correct values in* the PAGE ZERO locations, and by substit)]}uting program * vector addresses for the system keyboard interrupt and * VBLANK handlers.* ORG $0600INIT )^}PLA ;Remove argument count from stack LDA #$00 STA BUFIN ;BUFIN=0 STA B)_}UFOUT ;BUFOUT=0 LDA #LOW BUFFER STA BUF ;Store buffer address LDA #HIGH BUFFER )`} STA BUF+1 LDA #LOW KEYVB ;LO byte of new VBLANK routine STA VVBLKI ;Store at vectr address )a} LDA #HIGH KEYVB ;HI byte STA VVBLKI+1 LDA #LOW KEYINT ;LO byte of new handler STA )b} VKEYBD ;Store at vector address LDA #HIGH KEYINT ;HI byte STA VKEYBD+1 RTS ;R)c}ETURN** KEYBOARD INTERRUPT HANDLER ROUTINE** New handler for keyboard interrupts. This routine does* everything the old)d} OS handler did, except that it stores* new character values in the buffer, instead of directly* into location CH.* If thi)e}s routine detects a CTRL-0, it resets the buffer by* setting the IN and OUT pointers to 0, and putting an $FF * in location)f} CH.*KEYINT TYA ;Save Y register PHA LDA KBCODE ;Get internal code of key CMP )g} CH1 ;Compare to last key pressed BNE NOTSAME ;Skip debounce routine LDA KEYDEL ;Load timer valu)q}AB%DOS SYSB*)DUP SYSBSAUTORUN SYSBUMENU BjINTROVBIBASB8TABLETY1BASBTABLETY2BASBWSTARLANEBASB1BUFFER2 BASB DBUFFER1 BASB3OBUFFER AMABRERUN BASBRERUN M65B#BBKMON OBJB#SLITHER OBJB?SLITHER1M65B)SLITHER2M65B .SLITHER3M65B;SLITHER4M65BPBOOTCMP1M65BaBOOTCMP2M65BwMLEDITORBASe BNE EXIT ;Treat this code as a bounceNOTSAME LDA KBCODE ;Get code again CMP #CTRL1 ;See i)r}f it is a CTRL-1 BNE NCTRL1 ;Skip if not a CTRL-1 LDA SSFLAG ;Load STOP/START flag EOR )s}#$FF ;Reverse flag status STA SSFLAG ;Store new flag value BCS EXIT ;Don't process keyNCTRL1 )t} CMP #CTRL0 ;See if it is a CTRL-0 BNE NCTRL0 ;Skip if not LDA #$00 ;Purge buffer --- )u} STA BUFIN ;Reset IN pointer STA BUFOUT ;Reset OUT pointer LDA #$FF STA CH )v} ;Reset CH BCS EXIT ;Don't Process keyNCTRL0 STA CH1 ;Update last key pressed LDA #$0)w}3 STA KEYDEL ;Reset debounce timer LDA #$00 STA ATRACT ;Reset attract mode timer )x} LDA BUFIN ;Load IN pointer CMP BUFOUT ;Subtract OUT pointer BEQ EMPTY ;IN=OUT --> Buff)y}er is empty LDY BUFIN ;See if buffer is full INY ;Add 1 to IN and see if it = OUT T)z}YA CMP BUFOUT BEQ EXIT ;IN=OUT-1 --> Buffer is full LDA BUFIN ;Get IN pointer ){} BPL PUTBUF ;Skip this next partEMPTY LDA CH ;Get key code CMP #$FF ;See if last code has be)|}en used BNE PUTBUF ;Skip if CH has keycode in it LDA KBCODE ;Get key code STA CH ;)}}Store at CH BCS EXIT ;Jump to exitPUTBUF LDA KBCODE ;Get key code LDY BUFIN ;Get IN point)~}er STA (BUF),Y ;Store in buffer INY ;Increment pointer TYA CMP #BUFLEN ;S)}ee if pointer is at end BNE STORIN ;Skip if not at end LDA #$00 ;Set to 0STORIN STA BUFINE)}XIT LDA #$30 STA SRTIMR ;Reset auto-repeat timer PLA TAY PLA RTI** )}VBLANK ROUTINE** Checks to see if CH=$FF, which would mean the current* key has been processed. If it has been processed,)} then* the next data byte is moved out of the buffer into CH.* The appropriate pointers are updated.* If the buffer is not)} empty, then the auto-repeat feature* is disabled by putting a $30 in location SRTIMR.*KEYVB LDA BUFIN ;Get IN poi)}nter CMP BUFOUT ;Subtract OUT pointer BEQ EXIT2 ;IN=OUT --> buffer is empty LDA #$30 )} STA SRTIMR ;Reset auto-repeat timer LDA CH ;Get value at CH CMP #$FF ;See if it i)}s 255 BNE EXIT2 ;Skip this if it isn't LDY BUFOUT ;Get OUT pointer LDA (BUF),Y ;Get ch)}aracter from buffer STA CH ;Store character at CH INY ;Increment OUT pointer TYA)} CMP #BUFLEN ;See if pointer is at end BNE STOROUT ;Skip if not at end LDA #$00 ;Set t)}o 0STOROUT STA BUFOUT EXIT2 JMP SYSVBV ;Jump to system VBLANK vector** RESERVE BUFFER SPACE*BUFFER DS )} BUFLEN** END* ENDXIT2 JMP SYSVBV ;Jump to system VBLANK vector** RESERVE BUFFER SPACE*BUFFER DS (8I͠ΠBy : C.F.Fogarty III-}For: ANALOG Magazine.nn128,6,230,6,104,165,10,141,213,6,165,11,141,214,6,165,12,141,158,6,165,13,141,159,6,169,149,-}133,12,169,6mm133,13,32,64,21,169,202,133,10,169,6,133,11,162,0,169,8,141,66,3,169,217,141,68,3,169,6,141,69,3,169,14g-}g141,72,3,142,73,3,32,86,228,169,13,141,74,3,96,173,158,6,133,12,173,159,6,133,13,76,159,23,104,6400125,29,29,29,71,79,8-}4,79,32,49,48,28,28,287 ")-%AV$%AV$-"37  6-?:%AV$, <AB@'A-}fA9Ag@< (}@)( ( ()(͠ and (((Are now Disa-}bled.2.( ( (.(Press /CTRL/D for DOS.<##@@K:F)@(>:,P0"F:B2y-},"@*"@-@0.Z @pd66You only need lines 4-10 in your own program(s). D:RERUN.BAS2y,x1dX; SYSTEM RERUNnX;By: C.F.Fogarty IIIX;Version: 1.0X;X;DOSVEC ;;DOS Adr. from ;BASICDOS1}INI ;;Disk Boot Init. ;addressX;ICCOMB;;IOCB0 ICBALD ICBAHE ICBLLH ICBLHIPOKE8421}JX;CIOVV;;Central I/O&X;0WRITE;;ICCOM Write Cmd: BUFRLEN;;Length of GOTO10DX;N7XX;b$X;Steal DO1}SVEC and DOSINI then...lX;v QDOSVEC PVECDOSQDOSVECPVECDOSX; QDOSINIPDOSQDOSINI PDOS1}X; X;Point them to this routine.X;ENTRYQ>ENTRY PDOSINIQ>ENTRY PDOSINIX; $X;Continue in1}itialization process%X;and reload the "D:" device*X;to the Handler Table.4$X;This is where the stolen DOSINI9X;would n1}ormally go.>X;H  ;;JSR DOSR DOS @\X;f"X;Then reset the address to JMPkX;to when DOS is called fromp$X;BASIC. 1}This allows you to exituX;BASIC to DOS.z!X;Otherwise, you would have toX;shut off the computer to!X;get out of the BA1}SIC programX;that is running.X;Q>DVECTR PDOSVECQ>DVECTRPDOSVECX;X;Now Clear the screen,1}"X;Move the cursor down 3 lines,#X;Write "GOTO 10" to the screen,"X;Move the cursor up 3 lines...X;$> Q>WRITE1} PICCOMQ>GOTO10$ PICBAL.Q>GOTO108 PICBAHB Q>BUFRLENL PICBLLV &ICBLH` CIOVjX;t#X;...start the1} dynamic cursor...~X;Q>  PPOKE842X;$X;...and return control to BASIC.X;:X;"X;Control goes here when 1}DOS isX;called from BASIC."X;It resets the pointers to DOS X;and allows you to exit from X;BASIC.X;DVECTRQDO1}S PDOSINI  QDOSPDOSINIX;(#X;Now JMP to where DOSVEC should-#X;have gone if it wasn't stolen.2X;And DOS 1}will take control.<X;F L;;JMP DOSVECPVECDOS ZX;d X;POKE 566,BREAK&255 and POKEiX;567,BREAK/256 then,n#X;Cont1}rol goes here when [BREAK]sX;is pressed.x!X;These 2 commands disable the}!X;[BREAK] key for OS 'B' ROMS.X; BREAK71}9#X;The information that you printX;to the screen follows:X;GOTO10 A}GOTO 10A' ROMS.X; BREAK70e 0 g 0/$ Lw `   g 0 Lw lآ/$5}   $! ! K! j! #0 # # L !L ɛ   L /$Lt5}` B VD#EB JKLV$ED B(HI V0`hh o#L BI2HDE V0`ɛ5}. >ąƅL~!ޭɛ`hhL $# (! $!>L'L(!ɛ $ ' !dҩ5}`$=ȹɛL  8'ԥ ؠȱ$)$ȩ$$ (!L 򩔅 #$$$5}L5"$F 8'>9<' 8'搤ɛ,L L ɛ, L 1#ȹ15# e# 5}BD#EJK V o#L,# BDEHI V e#L !L%## $! H e# hBDE V o#L 5} BLVԩ ؠ$)$詛$ $! e#$ (!L!5JJJJ $Ȧ5Ԫ $Ȧ`?FXCLUERDQASBM!" n5}"8#<#@#D#' 2$*+,E:D1:*.*Error> 0123456789ABCDEF= BBK MONITORd 8'L ' K! j!ɛL 5}l-ȹl- ȹl-朥8L& eЦ.LJ%(#$ L& 8'5}L&L&ɛL&L')L&,L& L&L&ȹYL'XL&L&L'!L-'5}0 8L&L&8!AL&_.L-'8.ȹ#ȹ$ L& 8'L&L%ɛL&L5}&,L&Ly&L& L&,L' (l #L&  L'#㹔ɛLo&Le&5},L&Lo&[.L'[.L&W.L&W.L'ȭ$L& 8'L&8媅嫅805} L&L&暥 !0e (!LJ$O.ȑLw'O.ȥȥLw'Lw' $5}0%&&&&eiL@'`eiLJ$$ 'JJJJ ') 'JJJJ ') ': ' '` 0:iHI5} B V0`hh o#L $ 8'L e#,#ȹP B0EmDJ V F0 (5}ȥ (ȥȥc. L(/l- . 5) (ȥ *0(+0( 5} (!&  BED(HI V A-L2(L H) $hJJJJ $` (ȥii5}` (ȥșL5)# ȩ$ )`$  )` y),ȩX`$  ) C)` ),ȩX` )5}Y` * ),Xș)ș` ))ȩ,ȩY`A ` )ϥХ0:eυϥi (5} ( ȥ $`i8姅ϥL.*` * ) C))` ($ș` )Y`` e#DL ȹ:5}ȹ,ȹ$ 8'L r0s0,ȹ$ 8'ԥt0u0ū L+Ū8媅嫅5}止 BEDJK V o#L,#p0 + HI BDE V o#L,# e#L H BHI5}h V0`hh o#L 0 (!L e#DL ȹ: EDJKB V o#L , , 0 (!L , ,5} , ,8媅嫅 # v00v (! HIBDE V o# e#L  BHI V0`hh o#5}L 8'L ' ,ɛ者 #ȹ膙ک (!5}ii A-L,L  8`` ADCANDCMPEORLDAORASBCSTABRKCLCCLDCLICLVDEXDEYINXINYNOPPHAP5}HPPLAPLPRTIRTSSECSEDSEITAXTAYTSXTXATXSTYAASLLSRROLRORDECINCSTXSTYBITJSRJMPCPXCPYLDXLDYBCCBCSBEQBMIBNEBPLBVCBVSa!AX5}ʈHh(@`8xF&f憄$ L0Pp   J*jieum}yaq)%5-=9!1IEUM]YAQ  񅕍5}XʈHh(@`8x JFVN^*&6.>jfvn~$, Ll̢0Pp5}      5} !$'*-0369 PGOFLAG& DDLIST0$>: &LEVELD &LEVLPNTSN &AUDF1X$>Xb&l OPENv=} PRINTSCR START$> &R$>$&S$>&T$> &U$>&VQ>4STARTMSG PICBADRQ>5STARTMSG=}PICBADR Q>  PICBLEN Q>*PICBLEN4 CIOV>STARTKEYQCONSOLHR>R HSTARTKEY\$>f&Tp$> z&=}UQ>4CLEARMSG PICBADRQ>5CLEARMSGPICBADRQ>  PICBLENQ>PICBLEN CIOV QGOFLAGR>=} FSTART1$> &LEVEL &LEVLPNTS &AUDF1$ DDLIST.Q>X8 PCHBASEB OPENL PRINTSCRVSTART1Q>X`PjQ=}>t PGOFLAG~,Q>UOX PLIVESQ>OY PLIVES,Q>,OX PSHOWLEVLQ>OYPSHOWLEVL=} ,Q>OX( PSCORE2Q><OYF PSCOREP,ZQXdO>n PTIMExQYO> PTIME$>A &DLAYSIZE=}$>@ &DLAYDIFFMAKESNAK%> 'TIMER 'TIMERQ> P@TIME73Q> P@TIME7, QSCREEN"O>+, P=}TAIL6QSCREEN@O>J PTAILT,^ QSCREENhO>-r PHEAD|QSCREENO> PHEAD$> &COUNT$>=} &LSTICK$> &AUDC1 Q>TAIL2 PSTAIL%> P@TAIL7 Q>SBODY3 P@TAIL73& Q>SHEAD0 P@TAIL7: J=}OY%>DQ>N;X STIMERb PTEMPlM>vR>FODD EVENQ> P@TIME7 !TDIGIT ODDQ> P@TIME7TDIGITQ=}TEMPV?,O>%> P@TIME7 QTEMPR>  HMAIN !GUYDEAD  MAIN$>* &ATTRACT4 $DLAYSIZE> DELAYH=}Q>R PAUDF1\ QSTICK0f PSSTICKp$>zBADJOYRBADSTICK9 FJOYBAD2(> HBADJOY !DIRCHECKJOYBADQLS=}TICK PSSTICK !CURSTICKDIRCHECKRLSTICK FLASTICK QLSTICK PNSTICKLASTICKQSSTICK R> FCURSTICK Q=}SSTICK$ PLSTICK. CURSTICKQSSTICK8 R>B HSAVEHEADL QLSTICKV PSSTICK` SAVEHEADQHEADj PDUMHEADt QHEAD~ =}PDUMHEAD JOY14QSSTICK R> FSNAUP R> FSNADOW R> FSNALEF R> FSNARIG !JOY SNAUP; QHE=}AD S>( PHEAD QHEAD S>( PHEAD2 !CHWALL< SNADOW,F QHEADP O>(Z PHEADd QHEADn O>x PHEAD>} !CHWALL SNALEF; QHEAD S> PHEAD QHEAD S> PHEAD !CHWALL SNARIG, QHEAD O> PHE>}AD QHEAD O> PHEAD" CHWALL$>, Q@HEAD66 R>WALLS@ HCHDOTJ !CHKHITT CHDOTR>DOTS^ HCHBODYh !EAT>}DOTr CHBODYR>SBODY| HCHTAIL !GUYDEAD CHTAILRSTAIL HNOHIT !GUYDEAD EATDOT DOHEAD Q>P PAUDF1 UP>}SCORE QLEVEL M> ? #LEVLPNTS QLEVLPNTS RLEVLSCOR8 HADDONE !UPLEVEL& ADDONE$>0 &COUNT: NOHIT D>}OHEADD $COUNTN (>X FCTUPb "COUNTl !JOYv DOHEAD%> Q>SBODY P@DUMHEAD7 Q>SHEAD P@HEAD7 : CTUP; >} QTAIL S>( PDUMTAIL QTAIL S> PDUMTAIL %> Q@DUMTAIL7 R>SBODY HCTDOWN $>* &DUMX4 !C>}FONEDGR> FONEDG3Q@7R>, FTWODGR> FTWODGX;HUNDS'INDX #INDX11 ;Q@7S>J}0& FHENDS0>:%>?X;D HLOOP,NQ@7XO>dbP@7l0v HHLOOP{X;HENDS%INDXX;TWODG'INDX11J};Q@7S>0 FTENDS>%>X; TLOOP,Q@7O> P@70  HTLOOPX;TENDS%INDXX; ONEDG'J}INDX*1/;4Q@7>S>0H FOENDSR%>\,fO@7pP@7uX;zOENDS#DEST HLNCHK #DESTX; LNCHKQ>J }?P@7X; %INDXQ@7R> FENDCH3, DFLOOPX; RESET%>Q@7 PLLEN, DFOUNDX;LJ }ENDCH"LCNTV FRETRN[X; NEWLN, QSORC OLLEN PSORC DRESET #SORC, DRESETX; RETRN:X;;J }D:PKSUB.SRCTV FRETRN[X; NEWLN, QSORC OLLEN PSORC DRESET #SORC, DRESETX; RETRN:X;;H p d"X;multiple players & collisionsnX;xX;by Karl E. WiegersX; PUTREC DRAW ROWCRST COLCRSUN }ATACHR| P0PFА P0PL ФHITCLRвX; FORWARD Q>ALIEN;;make alienPSHAPE;;face forward Q>ALIENN};;initially* PSHAPE4,>Q>H O>PMGRPPLYRSTRT\ QYPOSP0f PPLYRSTRTp COPYPLAYERzQ>;;make alieN}nPPCOLR0;;yellowX;"X;joystick checking begins hereX;Q>ALIENR;;load alienPSHAPE;;shape going$Q>ALIENN}R;;to the.PSHAPE;;right8,BQ>L O>PMGVPPLYRSTRT` QYPOSP0j PPLYRSTRTt COPYPLAYER~Q>;;coloN}r himPPCOLR0;;blue Q>ALIENL;;load alienPSHAPE;;shape forQ>ALIENL;;going left( PSHAPE2,<Q>F N}O>PMGPPPLYRSTRTZ QYPOSP0d PPLYRSTRTn COPYPLAYERxQ>;;color himPPCOLR0;;green X; %X;draw some lineN}s on the playfield X; Q>;;color register 0 PATACHR %> FIRSTPOINT;plot the first 3;;point in the QXVALUEN}8;;data table PCOLCRS QYVALUE8 PROWCRS  PLOTPOINT NEXTPOINT 3;;aim at the QXVALUE8;;next point" GCHKDONN}E;;if -1,then quit,, PCOLCRS;;else draw6 QYVALUE8;;from last@ PROWCRS;;point toJ  DRAWLINE;;this one andT ,;;get nexN}t^ DNEXTPOINT;;pointh CHKDONEr )LIMIT;;all points done?| HFIRSTPOINT;;no, continue X; !X;check for collisions betwN}een X;players 0 and 1 X; CHECKCOL QP0PL;;if collision, R>;;then call HCHECKPF;;subroutine  P0P1COL;;to haN}ndle it& ,0 DCHECKCOL: X;D !X;check for collisions betweenN X;player 0 and playfieldX X;b CHECKPFl QP0PF;;if collisN}ion,v FCHECKCOL;;call another  P0PFCOL;;subroutine to ,;;process it DCHECKCOL X; #X;plot a point at current cursN}or !X;position; save Y-register on X;the stack X; PLOTPOINT C 5 $>` Q>PUTREC PICCOM9 Q>REG2 PICN}BAL9$Q>REG2.PICBAL98Q>B PICBLL9LQ>VPICBLL9` CIOVj7t?~:X;#X;draw a line from last pN}oint to#X;current cursor position - saveX;Y-register on the stackX; DRAWLINEC5 Q>DRAW PICCOM9 CIOVN}7? :X;J$X;subroutine to handle collisionsTX;between alien and car^X;h P0P1COLr KILLED;;change to dead,|N}Q>;;white alien PPCOLR0:X;$X;subroutine to handle collisionsX;between alien and wallsX; P0PFCOL KIN}LLED;;change to dead,Q>(;;orange alien PPCOLR0:X;"X;subroutine to copy dead alien"X;shape when he hits sometN }hing,#X;clear collision registers, andX;turn off VBI routine&X;0 KILLED:Q>DEADALIEND PSHAPENQ>DEADALIENN!}X PSHAPEb,lQ>v O>PMGPPLYRSTRT QYPOSP0 PPLYRSTRT COPYPLAYERPHITCLR;;clear coll.%>XN"}ITVBV;;turn off$>XITVBV;;VBI routineQ> SETVBV:X;  REG2 ACAX; %X;counter for drawing on playfN#}ield*X;4 LIMIT >X;HX;tables of X-coordinatesRX;\ XVALUEf = = = =p  ==z ==#= =N$}"="==X;X;tables of Y-coordinatesX; YVALUE == = = == === ====N%}X;`X;jX;alien facing to lefttX;~ ALIENL =<==>==== ====<=<=$ $=$=l=X;X;alien faciN&}ng to rightX; ALIENR =<==|== ==<=<=$ $=$=6=X;X;poor, squashed alienX;  DEADALN'}IEN =!="==T=9 =<={==( 4=V==$2 ==$=$=6=X;X;poor, squashed alienX;  DEADALLE h~A0 p +p(^WHAT IS MORE APPEALING TO YOU? SEEINGTHE TEXT PRINTED TO THE SCREEN WITH NOFORMATTIR)}NG EFFORT?(((OR...$-@A0( P +AR@1-@@P(A NICELY FORMATTED SCR*}REEN,(i-@@3(WHERE CARE HAS BEEN TAKENE-@@i(IN THE POSITIONING OF THE TEXT?2 @PR+}D:TEXTUAL1.BAS3(WHERE CARE HAS BEEN TAKENE-@@i(IN THE POSITIONING OF THE TEXT?2 @PPA@ 2 +-@@2(THIS IS A TEST#-AU#A -V-}@@P  D:TEXTUAL2.BAS-@@2(THIS IS A TEST#-AU#A -T. C +AR@1A @CAA``-@@4(JUST A SIMPLE COLOZ/}R CHANGEF-@ @`(CAN IMPROVE THE LOOKS)-@@)(OF YOUR SCREEN.( @@D:TEXTUAL3.Z0}BASANGEF-@ @`(CAN IMPROVE THE LOOKS)-@@)(OF YOUR SCREEN.( @@D:TEXTUAL3.XA@A# D +A @1-@@D(THIS IS A TEST+-AU^2}@+A-@A  D:TEXTUAL4.BAS@D(THIS IS A TEST+-AU\HMOD@A% 6-@b+-@5(@want your textG-@@b(b4}@ to stand out?e-@6(@the graphics 1 or 2H-@@e(@MuIcOr textb5}(Z-@@/(@ modes may beA-@@Z(@ just right.2"@@p<16-@b6}#-@A%' 1 @ F @pD:TEXTUAL5.BAS just right.2"@@p<16-@`HB$$@! ;;@6,;6.$| |C +ARf8}@1A @CAA`>-@@>($(+-@@ f9}#-@'(+ 2>-@@!>($<V-@ @0(A SIMPLE SCREEf:}N BORDERB-@@V(PLEASES THE EYEF2-@@2(AND UNIFIES THE DISPLAY.P @D:TEXTUAf;}L6.BASRB-@@V(PLEASES THE EYEF2-@@2(AND UNIFIES THE DISPLAY.P @D:TEXTUAdB C +AR@1A @CAA`''(j=}''(| If you have a lot of data |''(| to display, you can take |''(| the border idej>}a one step |#''(| further, and set up a well |(''(| organized chart. |-''(j?}2''(| TITLE |7''(<''(| ITEM 1 | COMMENT |j@}A''(| ITEM 2 | COMMENT |F''(| ITEM 3 | COMMENT |K''(| ITEM 4 | COMMENT |P''(jA}Z @D:TEXTUAL7.BASENT |K''(| ITEM 4 | COMMENT |P''(hB DBr m +AR@1A @CA@m6-F:A`,%AV$F:Aa,nC}%@g&@@q+%@@?%@ @S%@!@g%@"@E%@#nD}@e.%@$F:A`,E%@%F:Aa,(I-@#'( 9-@$@I( USER PROnE}MPT2f-@@6(A SIMPLE MODIFICATION TO THEH-@@f(DISPLAY LIST CAN GIVE YOU<j-@@nF}5(SEVERAL TEXT SIZES, AS WELLG-@@j(AS DIFFERENT BACKGROUND COLORSFf-@@6((WITHOUT RESOnG}RTING TO TRICKYH-@@f(DISPLAY LIST INTERRUPTS).P @D:TEXTUAL8.BAS@6((WITHOUT RESOlc78V l BFNABFF1LINRETRBACKSCHKSUEDILBYTDMOD@rI}  GG9@,;@,rJ};@,;@,;@,;@, ;@,?6-A6-AU'6-A&36-?6-IrK} AP-@@8(tart or ontinue? B AI(>:,(?-@@#(FILENAME'9AR@rL}?( 25B:, @$-@ @+( 5 @@<?7@<@,0D:&6.D:567@,.? @FrM} 6.P>:,4SA Z4 A0*@@4 Ad@-@@$)@( 66rN}-%@@ An5@+@@ 5 Apxr A`*@@4 A@rO}F-@@`(FILE ALREADY EXISTS!!rARH-@@%( ERASE IT? / AAAR@rP}H(>:,,>:,4N)>:,4n"@, @0>:,0Y*>:,0yA0+@+@@rQ}? AP-@@3( נΠ: ?6-6-@#-@@W-@$+ @,%@rR}$+!@ ,%@iAR|(BYTE #:  A$*"6-8,$ A 6-A:,rS} 6. -@"%@ ( 0 68,-6-%$"!A06-&B) 6-%!A)6-&BrT}O-@%@)AR9( CHECKSUM: E6-@O A*"Ap 6-A:,!-rU}@"%@!( "A"/ A@6-@%6-/ A,O-@@'*@rV}8,+ 96-%@E6-O Ap66-@- A-"@:Q,*"@*(A J++**+ @HrW})!@W,A K"*46.O%%"*"*!@APT&&++"*(,)",*"A ^$ "rX}AR@!( $$hAr2!@(6.7@<&@,2 A| 6.# (>:,6-&@rY}# A '6-%@![6-' AP!67,.>:,(>:,! A  +^ A@-@rZ}@1( NO SUCH FILE!E-@AI T@^ @0tA@H72A@@r[}K-@@PO q2t$U +@#@A1B7tACAYr\}UA@U-6-F:A`,%AV$F:Aa,%@A&@@pU%@@_-@r]}@9@-%@1 M-@@@@[%_ W%@A@e.%@BF:A`,r^}E%@CF:Aa,W@?-@*(analog ml editor<AY@4?$>#@@r_}K:0)@;@>$D:MLEDITOR.BAS(analog ml editor<AY@4?$>#@@p?G'c5 (c)1983 Action Computer Services  B JKIHiDiELV`L'va} ' BLV`L''l L' &` Fj`8冨凪` (EӅӥvb} (`ʆǪƩ Ɛee` #(ƦʆǢ &Ɛeǐ G( G(L( #('&&&8儨児vc}祂*L(&&*ń8&&L( (`hihiHHȱȱL'c !#3`vd}L'JJJJ`H 'h`Hȩh 'L4) 'L4) h'L4) p'L4) v'H8ve}`HhHh )L4) BHI V䅠L4) L) 'L4)Ԇ ؠPIPP`vf} *P p'L4) 0*L) *L5* I*L*H- )8塪墨hLI* b*L) i*L* *ȹP`vg}텠8堨塪 *芨Oȩ-`PP )P棩 Ѥģ0-ģ6000:,80H vh}& &ehe&eģ0ʥ 8堅塅`$ )&*i0:0i )Ʀ`¢ 护vi}°ڱ%ȱ%E )L+担CS )L+I b*L+H ]+L+ 0*L+ &B V 4)NLMȑvj}` MLN%B VL4)S:E,E:J,H ) M,N, X) )h)0IH,I,LX)[\ZUVT` ,H,I,vk}` ,L* },L) ,L)) ` ,L* i(` 0d 'ҥ `2)2vl}ҩ`p`0)9D-`@0)ӈJJJJ)`Ѕ`ȱ`` x-ȥ`Hhvm}ƣĢ`ƥĤ`Ѣ .`ȱѢĦ`膡`vn}`ťƤe8夰L. Ƥ8`ŦeѠe桊L.L9dvo}5L.........͝...L/. m..*(m.. m..*(m.ȑ.vp}Щ.L.. O,Ȍ , i(i.L/@ , , ,@ ,@ ,`L/ vq}.L/ ""/ ) )L/ Draw with KoalaPad.../ ) )L0%LEFT __\ Ҡ /__ RIGHT/ vr})L50%button / \ button0 ) )Lc0 ANY KEY: Ӡ0B )L0 or vs}Ţ0m ) ) ) )L0$------------------------------------0 )IL)1L0 Hit any button to start:0 ) 1-vt} 1-I a-L0`L-1 / )#.. (..Lh1Persistence is now 1T ).. A* )L1Entvu}er new persistence (1-10): 1~ ).. 0*L11 ).I  .IL1L11 ) *..`L1 (1811vv}11811111i@1i1 ,ILA2LF21i@1i1 ,.IL31i@1i1vw} ,1i@1i1 ,1i@1i1 ,1i@1i1 ,1i@1i1 ,1i@1i1vx} ,1i@1i1 ,M.L53)IL&3`L93 *-_ i(r (8..vy} *-_ i(r (8.. 1-L3 ..IL3.L3. 1-L3 1-L3vz} .. m..*(m.. m..*(m.ȱ 1. m..*(m.... m..v{}*(m..ȑ.. m..*(m.ȱ. m..*(m.ȱ 1...͟...L4..v|}IL93`L4 /ILS5 *1 ͟..L%5. .L:5..L:5 O,`#.. i(.. . 63L4`4t}H'6 (c)1983 Action Computer Services  B JKIHiDiELV`L'z~} ' BLV`uL''l L' &` Fj`8冨凪` (EӅӥz} (`ʆǪƩ Ɛee` $(ƦʆǢ &Ɛeǐ H( H(L( $('&&&8儨児z}祂*L(&&*ń8&&L( (`hihiHHȱȱL'c !#3`z}L'JJJJ`H 'h`Hȩh 'L5) 'L5) i'L5) q'L5) w'H8z}`HhHh )L5) BHI V䅠L5) L) 'L5)Ԇ ؠPIPP`z} *P q'L5) 1*L) *L6* J*L*H- *8塪墨hLJ* c*L) j*L* *ȹP`z}텠8堨塪 *芨Oȩ-`PP )P棩 Ѥģ0-ģ6000:,80H z}& &ehe&eģ0ʥ 8堅塅`$ )&*i0:0i )Ʀ`¢ 护z}°ڱ%ȱ%E )L+担CS )L+I c*L+H ^+L+ 1*L+ &B V 5)NLMȑz}` MLN%B VL5)S:F,E:K,H ) N,O, Y) )h)0II,J,LY)[\ZUVT` ,I,J,z}` ,L * ~,L) ,L)) ` ,L * j(` 0d 'ҥ `2)2z}ҩ`p`0)9E-`@0)ӈJJJJ)`Ѕ`ȱ`` y-ȥ`Hhz}ƣĢ`ƥĤ`Ѣ .`ȱѢĦ`膡`z}`ťƤe8夰L. Ƥ8`ŦeѠe桊L.9z}6=PriC(xL.........͞...L/nt. m..*(m.. m..*(m.ȑ.z}Щ.L.. P,Ȍ , j(i.L/@ , , ,@ ,@ ,`L/ z}.L/ ""/ ) )L/ Draw with joystick.../ ) )L0 button: Ҡ and Ţ/ )L'0 z} 0 ) )LU0 ANY KEY: Ӡ04 )L0 or Ţ0_ ) z}) ) )L0$------------------------------------0 )IL1L0 Hit any button to start:0 ) 2- 2-z}I b-L0`L1 / )#.. (..LZ1Persistence is now 1F ).. B* )L1Enter new persistez}nce (1-10): 1p ).. 1*L11 ).I  .IL1L11 ) *..`11 L1 (18111181z}1111i@1i1 ,IL32L821i@1i1 ,.IL 31i@1i1 ,1i@z}1i1 ,1i@1i1 ,1i@1i1 ,1i@1i1 ,1i@1i1 ,1i@z}1i1 ,M.L'3)IL3`ENL13._.._. I--3,3,3)-3) (,3)z}-3) (8媍(3嫍)3,3)-3),3)-3) (8媍*3嫍+3)3(3 j(z}.e..e.+3*3 j(.e..e...͘..LN4._...͚..Ls4._z}. b-L4 ..IL4.L4. b-L4. m..*(m.. m..*(m.ȱ z}1. m..*(m.... m..*(m..ȑ.. m..*(m.ȱ. m..*(m.ȱz} 1...͜...L5..ILC3`L5 /IL6 1 ͠..L5. .L5..L5 P,z}`#.. j(.. . .3L5`5ILC3`L5 /IL6 1 ͠..L5. .L5..L5 P,x110 REM ********************** 20 REM ** SHOWPIC DEMO ** 30 REM ** -- ** 40 REM ** By Mathew Spolin ** 5~}0 REM ********************** 60 REM 70 REM This is the demo driver. 80 REM The actual program starts at line 6400. 90 RE~}M 100 FULLW 2:CLEARW 2 110 COLOR 2:?"VALID EXTENDERS:":COLOR 3:?" .NEO - Neochrome Image" 120 ?" .PI? - Degas Image":C~}OLOR 1 130 ?:INPUT" File to load --> ",FILE$:IF FILE$="QUIT" THEN END 140 GOSUB SHOWPIC:GOTO 100 59997 ' 59998 ' The SHOW~}PIC Subroutine Follows. 59999 ' 64000 SHOWPIC: 64010 COLOR$=SPACE$(32):ERASE PAL%:DIM PAL%(15):IGNORE=0:A#=GB 64020 SCREE~}NREG#=&H44E:SCREENRAM#=PEEK(SCREENREG#):PALREG#=&H45A 64030 GINTIN=PEEK(A#+8):SAVEP=16745024:COUNT=0:FOR REGISTER=0 TO 15 6~}4040 PAL%(REGISTER)=PEEK(SAVEP+COUNT):COUNT=COUNT+2:NEXT REGISTER 64050 IF RIGHT$(FILE$,3)="NEO" THEN IGNORE=128:FORGET=4 6~}4060 IF LEFT$(RIGHT$(FILE$,3),2)="PI" THEN IGNORE=34:FORGET=2 64070 IF IGNORE=0 THEN RETURN 64080 POKE CONTRL,123:POKE CONT~}RL+2,0:POKE CONTRL+6,0:VDISYS(0) 64090 CLOSE #1:OPEN "I",#1,FILE$:A$=INPUT$(FORGET,1) 64100 COLOR$=INPUT$(32,1):CLOSE #1:NE~}WC#=VARPTR(COLOR$) 64110 POKE PALREG#,NEWC#:GOSUB 64180 64120 BLOAD FILE$,SCREENRAM#-IGNORE 64130 POKE GINTIN,1:POKE GINTI~}N+2,1:POKE GINTIN+4,1:GEMSYS(21) 64140 POKE PALREG#,VARPTR(PAL%(0)) 64150 GOSUB 64180:POKE CONTRL,122:POKE CONTRL+2,0:POKE ~}CONTRL+6,1 64160 POKE INTIN,0:VDISYS(0) 64170 RETURN 64180 POKE CONTRL,3:POKE CONTRL+2,0:POKE CONTRL+6,0:VDISYS(0):RETURN ~} NTRL+6,1 64160 POKE INTIN,0:VDISYS(0) 64170 RETURN 64180 POKE CONTRL,3:POKE CONTRL+2,0:POKE CONTRL+6,0:VDISYS(0):RETURN |